Linux Shell 美化提示符(csh / bash)
简介
通过配置 shell 的提示符变量(csh 使用 prompt,bash 使用 PS1),实现带颜色、两行结构、显示用户名/主机/时间/当前路径的终端提示符。
效果说明
- 两行提示符结构(上行信息、下行输入)
- 上行显示:
[user@host][time]当前路径 - 下行显示:
└─╼ $(普通用户)或└─╼ #(root) - 含 ANSI 颜色控制符
1. csh 配置
1.1 临时生效(当前会话)
set prompt="%{\033[0;36m%}┌─%{\033[1;32m%}[%{\033[1;31m%}%n%{\033[0;34m%}@%{\033[1;33m%}%m%{\033[1;32m%}][%{\033[1;34m%}%P%{\033[1;32m%}]%{\033[1;30m%}%/\n%{\033[0;36m%}└─╼ %{\033[0m%}%# "
1.2 永久生效(推荐)
将上述内容追加到以下任一文件中(按实际环境选择):
~/.cshrc~/.tcshrc(如果使用tcsh)
示例:
echo 'set prompt="%{\033[0;36m%}┌─%{\033[1;32m%}[%{\033[1;31m%}%n%{\033[0;34m%}@%{\033[1;33m%}%m%{\033[1;32m%}][%{\033[1;34m%}%P%{\033[1;32m%}]%{\033[1;30m%}%/\n%{\033[0;36m%}└─╼ %{\033[0m%}%# "' >> ~/.cshrc
让配置立即生效:
source ~/.cshrc
2. bash 配置
2.1 临时生效(当前会话)
export PS1='\[\e[0;36m\]\342\224\214\342\224\200\[\e[1;32m\][\[\e[1;31m\]\u\[\e[0;34m\]@\[\e[1;33m\]\H\[\e[1;32m\]][\[\e[1;34m\]\t\[\e[1;32m\]]\[\e[1;30m\]$PWD\[\e[0m\]\n\[\e[0;36m\]\342\224\224\342\224\200\342\225\274 \[\e[0m\]\$ '
2.2 永久生效(推荐)
将上述内容追加到:
~/.bashrc(交互式 shell 常用)- 或
~/.bash_profile/~/.profile(登录 shell)
示例(写入 ~/.bashrc):
echo "export PS1='\[\e[0;36m\]\342\224\214\342\224\200\[\e[1;32m\][\[\e[1;31m\]\u\[\e[0;34m\]@\[\e[1;33m\]\H\[\e[1;32m\]][\[\e[1;34m\]\t\[\e[1;32m\]]\[\e[1;30m\]$PWD\[\e[0m\]\n\[\e[0;36m\]\342\224\224\342\224\200\342\225\274 \[\e[0m\]\$ '" >> ~/.bashrc
让配置立即生效:
source ~/.bashrc
3. 回滚(恢复默认提示符)
csh
从 ~/.cshrc / ~/.tcshrc 中删除对应 set prompt=... 行,或临时执行:
unset prompt
bash
从 ~/.bashrc 等文件中删除对应 export PS1=... 行,或临时执行:
unset PS1